/**
 * 
 */
package com.java.test.messagecenter.service;

import com.java.test.messagecenter.dto.*;
import com.java.test.util.PageInfo;

import java.util.List;

/**
 * @author Administrator
 *
 */
public interface MessageCenterService {

	/**
	 * 
	 * @param page 推送公告
	 * @param page
	 * @return
	 */
	public PageInfo<NoticeInfo> selectpushnoticeList(PageInfo<NoticeInfo> page);

	/**
	 * 修改公告
	 * 
	 * @param info
	 * @return
	 */
	public int updatepushnoticeInfo(NoticeInfo info);

	/**
	 * 删除公告
	 * 
	 * @param ids
	 * @return
	 */
	public int deletepushnoticeInfo(int[] ids);
	
	
	/**
	 * 查询单个公告
	 * @param info
	 * @return
	 */
	public NoticeInfo selectnoticeInfo(NoticeInfo info);
	
	
	
	
	public int addpushnoticeInfo(NoticeInfo info);

	/**
	 * 推送消息
	 * 
	 * @param page
	 * @param page
	 * @return
	 */
	public PageInfo<PushMessageInfo> selectpushmessageList(PageInfo<PushMessageInfo> page);

	/**
	 * 查询当个推送消息
	 * 
	 * @param info
	 * @return
	 */
	public PushMessageInfo selectpushmessagebyId(PushMessageInfo info);
	
	
	
	/**
	 * 添加推送消息
	 * @param info
	 * @return
	 */
	public int insertpushmessageInfo(PushMessageInfo info);
	
	
	/****==============終端管理================****/
	
	/**
	 * 終端分分页查询
	 * @param page
	 * @return
	 */
	public PageInfo<TerminalInfo> selectterminalPage(PageInfo<TerminalInfo> page);

	
	
	/**
	 *  查询某个终端
	 * @param info
	 * @return
	 */
	public TerminalInfo selectterminalbyId(TerminalInfo info);

	
	/**
	 * 添加终端
	 * @param info
	 * @return
	 */
	public int insertterminalInfo(TerminalInfo info) ;

	/**
	 * 更新终端
	 * @param info
	 * @return
	 */
	public int updateterminalInfo(TerminalInfo info) ;


	
	/**
	 * app更新分页查询
	 * @param page
	 * @return
	 */
	public PageInfo<AppUpdateInfo> selectappupdatePage(PageInfo<AppUpdateInfo> page);
	
	
	
	
	/**
	 * app更新修改
	 * @param info
	 * @return
	 */
	public int updateappupdateInfo(AppUpdateInfo info);
	
	
	/**
	 * app添加
	 * @param info
	 * @return
	 */
	public int insertappupdateInfo(AppUpdateInfo info);

	/**
	 * @param info 查询单个app
	 * @return
	 */
	public AppUpdateInfo selectappupdateInfo(AppUpdateInfo info);
	
	
	/**
	 * 
	 * 处理推送消息
	 * @return
	 */
	public boolean handlepushMessage();

	/**
	 * @param info
	 * @return
	 */
	int deleteminalInfo(TerminalInfo info);

	/**
	 * @param info 删除app更新
	 * @return
	 */
	public int deleteappupdateInfo(AppUpdateInfo info);

	/**
	 * @param channelid  根据渠道id查询终端
	 * @return
	 */
	TerminalInfo selectterminalbychannelId(String channelid);
	
	
	
	
	
	//  - ----跑马灯

	
	public PageInfo<HorseNoticeInfo> selecthorsenoticePage(PageInfo<HorseNoticeInfo> page);
	
	
	

	public HorseNoticeInfo selecthorsenoticeInfo(HorseNoticeInfo info);
	
	
	public int deletehorsenoticeInfo(long[] ids);
	

	/**
	 * 添加跑马灯
	 * @param info
	 * @return
	 */
	public int inserthorsenoticeInfo(HorseNoticeInfo info);
	
	
	/**
	 * 更新跑马灯公告
	 * @param info
	 * @return
	 */
	public int updatehorsenoticeInfo(HorseNoticeInfo info);
	

	/**
	 * @param terminalName
	 * @return
	 */
	List<TerminalInfo> selectallchannelByterminalnName(String terminalName);

}
